home *** CD-ROM | disk | FTP | other *** search
/ Programmer Power Tools / Programmer Power Tools.iso / modem / byepc300.arc / BYEXLIB.ARC / VERSION.ASM < prev    next >
Encoding:
Assembly Source File  |  1987-10-26  |  1.5 KB  |  65 lines

  1.            INCLUDE MODEL.INC
  2. ;
  3. ;---------------------------------------------------------------------------
  4. ;   Function:    void _bye_version(ver, rev)
  5. ;
  6. ;   Parms:    int *ver;   -> ptr to version buffer
  7. ;        int *rev;   -> ptr to revision buffer
  8. ;
  9. ;   Purpose:    Passes the version and revision number to the
  10. ;        calling function.
  11. ;
  12. ;   Return:    void
  13. ;---------------------------------------------------------------------------
  14. ;
  15.            PUBLIC __bye_version
  16.  
  17. __bye_version  PROC
  18.  
  19.            push bp            ;standard 'C' function entry
  20.            mov  bp,sp
  21.            push es
  22.  
  23.            mov  ah,11        ;AH=11 for get version
  24.            int  BYE_VECT        ;AX = msb(ver#), lsb(rev#)
  25.            mov  cx,ax        ;move ver/rev to CX
  26.  
  27.          IF @datasize
  28.            les  bx,ARG1        ;ES:BX = far ptr offset to ver#
  29.          ELSE
  30.            mov  bx,ARG1        ;BX = ptr to ver num
  31.          ENDIF
  32.  
  33.            xor  ah,ah        ;clear the msb
  34.            mov  al,ch        ;load ver into lsb
  35.  
  36.          IF @datasize
  37.            mov  es:[bx],ax        ;load into far ptr
  38.          ELSE
  39.            mov  [bx],ax        ;load into near ptr
  40.          ENDIF
  41.  
  42.          IF @datasize
  43.            les  bx,ARG2        ;ES:BX = far ptr offset to rev#
  44.          ELSE
  45.            mov  bx,ARG2        ;BX = ptr to rev num
  46.          ENDIF
  47.  
  48.            xor  ah,ah        ;clear the msb
  49.            mov  al,cl        ;load rev into lsb
  50.  
  51.          IF @datasize
  52.            mov  es:[bx],ax        ;load into far ptr
  53.          ELSE
  54.            mov  [bx],ax        ;load into near ptr
  55.          ENDIF
  56.  
  57.            pop  es
  58.            mov  sp,bp        ;standard 'C' exit
  59.            pop  bp
  60.            ret
  61.  
  62. __bye_version  ENDP
  63.            END
  64.  
  65.